<!DOCTYPE html>
<html lang="en">

<head>
    <title></title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href="css/style.css" rel="stylesheet">
</head>


<body>
    <div>
        <h1>https://www.houdunren.com</h1>
        <h2>http://hdcms.com.cn</h2>
        <h1>https://后盾人</h1>
    </div>
    <main>
        <a id="baidu" href="https://baidu.com">百度</a>
    </main>
</body>

<script>
    let hd = `
  #1 js,200元 #
  #2 php,300元 #
  #9 houdunren.com # 后盾人
  #3 node.js,180元 #
`;
    // console.log(hd.match(/[\w\,\d+]+/gm));
    // console.log(hd.match(/^\s*#\d+\s+.+#$/gm));
    // let lesson = hd.match(/^\s*#\d+\s+.+#$/gm);
    // lesson = lesson.map(item => {
    //     item = item.replace(/\s*#\d+\s*/, '').replace(/\W$/, '');
    //     [name, price] = item.split(',');
    //     return { name, price };
    // });
    // console.log(JSON.stringify(lesson, null, 2))
    // 正则表达式高阶用法
    // let string = document.querySelector('div').innerHTML;
    // console.log(string);
    // //
    // let reg = /<(h[1-6])>([\s\S]*?)<\/\1>/gi;
    // let contents = [];
    // for (const iterator of string.matchAll(reg)) {
    //     contents.push(iterator[2]);
    // }
    // console.log(contents);
    // // let reg1 = /https?:\/\/(w+)(\.w+)?(com|cn|cc)$ /gi;
    // let reg1 = /https?:\/\/(\w+)(\.\w+)?\.(com|cn|cc)/gi;
    // contents = contents.toString();
    // console.log(contents);
    // contents = contents.match(reg1);
    // console.log(contents);

    // let str = '2023-03/05';
    // console.log(str.split(/-|\//));
    // console.log(str);//不会改变原来数组
    // console.log(str.replace(/-|\//g, '*'));//不会改变原来字符串
    // console.log(str);//不会改变原来数组
    // String.prototype.matchAll = function (reg) {
    //     let res = this.match(reg);
    //     if (res) {
    //         let str = this.replace(res[0], '^'.replace(res[0].length));
    //         let match = str.matchAll(reg) || [];
    //         return [res, ...match];
    //     }
    // };
    // let str = "huhuhuuhuhu";
    // // console.log(str.matchAll(/(U)/i))
    // let reg = /(hu)/gi;//?:不要该分组
    // console.log(reg.exec(str));
    // // console.log(reg.lastIndex);
    // console.log(reg.exec(str));
    // console.log(reg.lastIndex);
    // while (c = reg.exec(str)) console.log(c);//g 会接着上次的查找

    //     let users = `
    //   张三电话: 12345678901
    //   李四电话: 98745675603
    //     `;
    //     //电话模糊 前面三位 后面两位 中间全是*
    //     let reg = /(?<=\d{3})\d+(?=\d{2})/g;
    //     console.log(reg.exec(users));
    //     users = users.replace(reg, (v) => {
    //         return '*'.repeat(v.length);
    //     });
    //     console.log(users)

    //把h标签换成 a标签 并且用能点超链接
    // let string = document.querySelector('div').innerHTML;
    // // console.log(string);
    // //单独拿出来需要禁止贪婪
    // let reg = /<(h[1-6])>([\s\S]*?)<\/\1>/gi;
    // let temp = "";
    // string.replace(reg, (v, ...args) => {
    //     console.log(v);//查找到的每一项
    //     temp += `<a href="${args[1]}">${args[1]}</a><br/>`;
    // });
    // document.querySelector('div').innerHTML = temp;
    //用断言 来改变id的值 后面有 没有?= ||?!  前面有或没有 ?<= || ?<!
    // let bd = document.querySelector('main').innerHTML;
    // console.log(bd);
    // let reg = /(?<=id=(["']))(.+)(?=\1 href)/g;
    // //id="455" 
    // // console.log();
    // // let srt = reg.exec(bd)[0];
    // bd = bd.replace(reg, 'bdbd');
    // console.log(bd);
    // document.querySelector('main').innerHTML = bd 
    //把元 精确到 小数点后两位
    let lessons = `
    js,200元,300次
    php,300.00元,100次
    node.js,180元,260次
  `;
    let reg = /(\d+)(.00)?(?=元)/gi;
    lessons = lessons.replace(reg, (v, ...args) => {
        args[1] = args[1] || '.00';
        return args.splice(0, 2).join("");
    });
    // console.log(lessons);
    //获取他的点击次数 为每一个点击次数增加800次
    let regs = /(\d+)(?=次)/g;
    console.log(regs.exec(lessons));
    const count = 800;
    lessons = lessons.replace(regs, (v, ...args) => {
        args[0] = count + args[0] * 1;
        return args.splice(0, 1).join('');
    });
    console.log(lessons);
</script>

</html>